import type { App } from 'vue';
import { useUserInfo } from '/@/stores/userInfo';

/**
 * 用户权限指令
 * @directive 多个权限验证，满足一个则显示（v-auths="[xxx,xxx]"）
 */
export function authDirective(app: App) {
    // 多个权限验证，满足一个则显示, 用法：v-auths="[xxx,xxx]"
    // 常规校验建议使用
    app.directive('auths', {
        mounted(el, binding) {
            let flag = false;
            const stores = useUserInfo();
            binding.value.map((v: string) => {
                if (stores.userInfos.authBtnList.includes(v)) flag = true;
            });
            if (!flag) el.parentNode.removeChild(el);
        }
    });
}
